The present invention relates to the field of user interfaces for computer programs and operating systems. Many computer programs and operating systems display items in hierarchical views. In a hierarchical view, items may have ancestor or descendant items. Typically, hierarchical views of items attempt to show the relationships between items and their ancestor and descendant items.
Typical user interfaces have difficulty in presenting clear hierarchical views for large number of items or deep hierarchies. For example, one common type of hierarchical view presents items in an outline format, with descendant items listed below and indented from their ancestor item. However, if an item is part of a deep hierarchy and thus has a large number of ancestor items, there may not be sufficient space within a window or on the display to show all of the ancestor items. As a result, a user may have to vertically scroll the hierarchical view to view some of the ancestor items of a descendant item. As the hierarchical view is scrolled, one or more levels of ancestor items, representing the previous levels of the hierarchy, may scroll off-screen. When this occurs, the typical hierarchical view does not provide any indication of the currently displayed items' location in the hierarchy of items. As a result, the view provided by the user interface does not provide the complete context of these descendant items' location in the hierarchy.
Therefore, there is an unmet need for a user interface that allows users to easily view the ancestors of items in deep hierarchies regardless of the number of items in a display or the depth of the hierarchy.